package com.shy.web.page;

import java.io.Serializable;

/**
 * 页码信息（底部分页banner页码，"1 2 3 ... 10"）
 * @author yinzhen
 */
public class PageIndex implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private long startPagecode; //起始页码
	private long endPagecode; //结束页码
	
	public PageIndex(long startPagecode,long endPagecode) {
		this.startPagecode = startPagecode;
		this.endPagecode = endPagecode;
	}
	
	public long getStartPagecode() {
		return startPagecode;
	}
	public void setStartPagecode(long startPagecode) {
		this.startPagecode = startPagecode;
	}

	public long getEndPagecode() {
		return endPagecode;
	}
	public void setEndPagecode(long endPagecode) {
		this.endPagecode = endPagecode;
	}

	/**
	 * 获取分页页码信息
	 * @param pageCode 分页banner显示页码数量(5/10,中间显示数字数量)
	 * @param currentPage 当前页码
	 * @param totalpage 总页码数
	 */
	public static PageIndex getPageIndex(long pageCode,long currentPage,long totalpage){
		long startpage = currentPage-(pageCode%2==0? pageCode/2-1 : pageCode/2);
		long endpage = currentPage + pageCode/2;
		if(startpage<1){
			startpage = 1;
			if(totalpage >= pageCode) endpage = pageCode;
			else endpage = totalpage;
		}
		if(endpage>totalpage){
			endpage = totalpage;
			if((endpage- pageCode)>0) startpage = endpage- pageCode+1;
			else startpage = 1;
		}
		return new PageIndex(startpage,endpage);		
	}
}
